草庐IT

java - 在Java中获取当前 session 对象

全部标签

ruby - 如何获取注入(inject)循环的每个值

我想获取inject的每个值。例如[1,2,3].inject(3){|sum,num|sum+num}返回9,我想获取循环的所有值。我尝试了[1,2,3].inject(3).map{|sum,num|sum+num},但没有成功。我写的代码是这样的,但是我觉得是多余的。a=[1,2,3]result=[]a.inject(3)do|sum,num|v=sum+numresult[4,6,9]有没有办法同时使用inject和map? 最佳答案 使用专用的Eumerator非常适合这里,但我会为此展示更通用的方法:[1,2,3].i

ruby-on-rails - 使用 ruby​​ mechanize 在浏览器中存储登录 session cookie

我正在尝试登录网站并通过Rails操作重定向到安全页面。我的代码看起来像这样。defredirect_to_externalagent=Mechanize.newpage=agent.get('http://example.com/home.asp')login_form=page.form_with(:name=>"loginForm")login_form.login='username'login_form.password='password'agent.submit(login_form)#cookies=agent.cookie_jar.store.map{|i|i}#ne

ruby-on-rails - 如何在 Rails 中间件中查找当前抽象路由

Rails版本:'~>4.2.7.1'spree版本:'3.1.1'提示:我如何获得/api/products/:id的路线或在Rails4应用程序的中间件中该路由的Controller和操作。详情:我正在我的Rails应用程序中添加一个类似于gemscout_statsd_rack的中间件.这将添加以下middleware到Rails应用程序以通过statsd发送指标:defcall(env)(status,headers,body),response_time=call_with_timing(env)statsd.timing("#{env['REQUEST_PATH']}.re

ruby-on-rails - 如何向对象添加新属性?

我正在尝试向通过我的用户模型创建的对象添加新属性。a=User.find(7)我得到:#我想将.votes_cast属性添加到“a”变量:a.votes_cast=5但是当我尝试这样做时,我得到:NoMethodError:undefinedmethod`votes_casted='for#我做错了什么?谢谢,奥古斯托 最佳答案 如果这是你数据库中的持久属性,那么你应该定义一个迁移来添加一个列。如果它只是User模型中的一个临时字段,那么您可以简单地向app/models/user.rb中的classUser添加一个访问器。clas

ruby-on-rails - 如何使方法应用于 ActiveRecord 对象的集合

目前,如果我想将一个方法应用于一组ActiveRecord对象,我必须像这样构建调用:messages=Message.find(:all)csv=Message.to_csv(messages)如何定义方法,使其结构如此?messages=Message.find(:all)csv=messages.to_csv这是当前模型代码:require'fastercsv'classMessage 最佳答案 以下将在消息数组中包含的所有实例上调用to_csv。messages=Message.find(:all)csv=messages.

ruby - Ruby 中的普通旧对象?

我注意到在Ruby中供应商API将结果作为数组传回是很常见的?普通的旧对象(如Java中的POJO)不应该更像是一个标准吗?如果我编写自己的库,我不应该使用POJOsPOROs吗? 最佳答案 我认为数组与对象是错误的二分法。这是完全合理的,在API调用返回不止一个事物的情况下,它以数组的形式出现(并且数组是一个相当简单的对象,因此在Ruby中可以说是一个“PORO”无论如何)编辑:回应您的评论:您引用的示例(http://github.com/cjheath/geoip)返回不同项目的数组。我同意这不一定是返回数据的最佳格式。在那种

ruby - Ruby 对象有大小限制吗?

我正在构建一些在应用程序中生命周期很短的大字符串。String对象会增长到任意大到ruby​​实例的物理限制吗?我想知道的是,如果没有任何限制字符串大小的干预,我的应用程序是否会因内存不足而受到影响,或者它是否会正常降级。感谢任何输入! 最佳答案 有一个限制。String可以是2**31-1(相应地2**63-1在64位ruby​​上)。您可以通过以下方式查看限制:>>s=String.new("1"*(2**32))RangeError:bignumtoobigtoconvertinto`long'from(irb):3:in`*

ruby-on-rails - 获取子类的名称

比方说我有我的课叫a=Person::User::Base如何只获取最后一个名为Base的子类。我知道如何做到这一点的方式是:a.to_s.split('::').last=>"Base"有没有更好的办法? 最佳答案 如果您使用Rails(ActiveSupport):a.to_s.demodulize如果您使用POR(plain-ol-Ruby),是的,这是您的方式:a.to_s.split('::').last 关于ruby-on-rails-获取子类的名称,我们在StackOver

ruby-on-rails - 如何在 Rails 中使用空格作为 '%20' 而不是 '+' 获取 url 的参数

如果我有这个参数用于添加到URLparams={name:'JohnKey'}并使用方法to_param:params.to_param=>"name=John+Key"重点是'+'没有被所使用的服务正确读取,需要'%20'而不是name=John%20Key:Whentoencodespacetoplus(+)or%20?有没有办法在不使用gsub的情况下返回带有“%20”的参数? 最佳答案 我会建议只坚持使用gsub,也许用注释来解释这种行为的必要性。虽然您可以通过使用URI.escape解决问题,但据说它已被弃用,因为它不完全

ruby - 使用 Prawn Ruby 库时的当前光标位置

我正在使用PrawnRuby库(http://prawn.majesticseacreature.com/)生成一些pdf文档。我画一张table没有任何问题。接下来,我想在表后插入几行,供各种人签名。在我画线之前,我想看看页面上是否有足够的剩余空间来容纳所有签名。如果没有,我将开始一个新页面并将签名行放在那里。但是,为了确定页面上是否还有足够的空间,我需要知道绘制表格后光标的当前位置。我一辈子都想不出怎么做。有什么想法吗? 最佳答案 当然,输入问题后,我马上就想通了。Document类中的'y'和'y='方法允许您获取和设置当前的